#ifndef DATABASE_H
#define DATABASE_H

#include "dbexception.h"
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QFile>

class DataBase
{
private :
    QString m_dbName;
    QSqlDatabase m_db;
public:

    DataBase(const char* dbName);

    /**
     * Supprime le fichier contenant la base de données.
     */
    void deleteFile();

    /**
     * Ferme la base de données.
     */
    void close();

    /**
     * Exécute et renvoie une requête passée en argument.
     */
    QSqlQuery exec(QString request);

    /**
     * Renvoie une requête pouvant être exécutée sur la base de donnée.
     */
    QSqlQuery prepareQuery(QString request);


    /**
     * Renvoie le code de la dernière erreur ayant eu lieu sur la base de donnée
     */
    int lastError();
};

#endif // DATABASE_H
